\subsection{Compilado en \linux}
\label{scriptconfig}
Para compilar el programa en \linux \space se utilizó el compilador \GPP \space y un Makefile el cual es utilizado por la utilidad make para llamar al compilador y al linker para procesar los fuentes, en forma auxiliar se usa un script que crea los directorios necesarios para el proceso de generación,\quotefile{configure.sh}, no es realmente necesario sobre \linux \space ya que el Makefile produce estos directorios de ser necesario, pero por uniformidad con \windows \space dónde se hizo de esta forma se provee el script.\\

Los archivos se encuentran en el directorio \textbf{\quotemarks{./make\_linux}} referido al directorio que contiene todos los directorios del TP.\\


\begin{flushleft}
\filebox{A continuación se muestra el archivo \textcolor{blue}{\quotefile{configure.sh}}:}{Aluminium2}
\end{flushleft}

%******************************************************************************************
\lstset{language=sh,numbers=left,xleftmargin=1em,stepnumber=1}

\lstset{showspaces=false}
\lstset{showstringspaces=false}
\normalfont
\normalsize
\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}


\fontencoding{T1}
\fontseries{m}
\fontsize{6pt}{7pt}
\selectfont
%******************************************************************************************

%*********************************************
\lstinputlisting{./../make_linux/configure.sh}
%*********************************************

\normalfont
\normalsize


\begin{flushleft}
\filebox{A continuación se muestra el archivo \textcolor{blue}{\quotefile{Makefile}}:}{Aluminium2}
\end{flushleft}

%******************************************************************************************
\lstset{language=make,numbers=left,xleftmargin=1em,stepnumber=1}

\lstset{showspaces=false}
\lstset{showstringspaces=false}

\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}


\fontencoding{T1}
\fontseries{m}
\fontsize{6pt}{7pt}
\selectfont
%******************************************************************************************

%*********************************************
\ifthenelse{\boolean{IsWindows}}
{
\lstinputlisting{./../make_linux/Makefile.}
}
{
\lstinputlisting{./../make_linux/Makefile}
}
%*********************************************

\normalfont
\normalsize

\vspace{1cm}


Finalmente para compilar estando parado en el directorio que contiene todos los directorios del TP se debe ejecutar:\\



%******************************************************************************************
\lstset{language=,xleftmargin=1em,numbers=none}

\lstset{showspaces=false}
\lstset{showstringspaces=false}
\normalfont
\normalsize
\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}



\fontencoding{T1}
\fontseries{m}
\fontsize{10pt}{11pt}
\selectfont
%******************************************************************************************


\begin{lstlisting}
$ cd make_linux
$ ./configure.sh
$ make
\end{lstlisting}
%$

\normalfont
\normalsize


\clearpage



\subsection{Compilado en \windows}
\label{scriptconfig}
Para compilar el programa en \windows \space se utilizó el compilador del DGPP, \DOSGPP \space y un Makefile el cual es utilizado por la utilidad make para llamar al compilador y al linker para procesar los fuentes, en forma auxiliar se usa un script que crea los directorios necesarios para el proceso de generación,\quotefile{configure.cmd}, era engorroso crear directorios anidados en \windows \space en un Makefile con las limitaciones de su línea de comandos.\\

Los archivos se encuentran en el directorio \textbf{\quotemarks{.\textbackslash make\_win}} referido al directorio que contiene todos los directorios del TP.\\



\begin{flushleft}
\filebox{A continuación se muestra el archivo \textcolor{blue}{\quotefile{configure.cmd}}:}{Aluminium2}
\end{flushleft}

%******************************************************************************************
\lstset{language=,numbers=left,xleftmargin=1em,stepnumber=1}

\lstset{showspaces=false}
\lstset{showstringspaces=false}
\normalfont
\normalsize
\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}


\fontencoding{T1}
\fontseries{m}
\fontsize{6pt}{7pt}
\selectfont
%******************************************************************************************

%*********************************************
\lstinputlisting{./../make_win/configure.cmd}
%*********************************************

\normalfont
\normalsize


\begin{flushleft}
\filebox{A continuación se muestra el archivo \textcolor{blue}{\quotefile{Makefile}}:}{Aluminium2}
\end{flushleft}


%******************************************************************************************
\lstset{language=make,numbers=left,xleftmargin=1em,stepnumber=1}

\lstset{showspaces=false}
\lstset{showstringspaces=false}

\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}


\fontencoding{T1}
\fontseries{m}
\fontsize{6pt}{7pt}
\selectfont
%******************************************************************************************

%*********************************************
\ifthenelse{\boolean{IsWindows}}
{
\lstinputlisting{./../make_linux/Makefile.}
}
{
\lstinputlisting{./../make_win/Makefile}
}
%*********************************************

\normalfont
\normalsize


\vspace{1cm}


Finalmente para compilar estando parado en el directorio que contiene todos los directorios del TP se debe ejecutar:\\



%******************************************************************************************
\lstset{language=,xleftmargin=1em,numbers=none}

\lstset{showspaces=false}
\lstset{showstringspaces=false}
\normalfont
\normalsize
\lstset{backgroundcolor=\color{white},rulecolor=\color{blue}}
\lstset{basicstyle=\ttfamily\color{Deepblue}}

\lstset{keywordstyle=[1]\ttfamily\color{blue}\bfseries}
\lstset{keywordstyle=[2]\ttfamily\color{LightSkyBlue}}
\lstset{keywordstyle=[3]\ttfamily\bfseries\color{Plum}}
\lstset{keywordstyle=[4]\ttfamily\bfseries\color{Chocolate}}

\lstset{identifierstyle=\ttfamily\color{black}}
\lstset{commentstyle=\ttfamily\color{blue}\textit}
\lstset{stringstyle=\ttfamily\color{Lightblue}\upshape}
\lstset{tabsize=4}

\lstset{numberstyle=\ttfamily\color{Deeppurple}\upshape}
\lstset{numbersep=5pt}

\lstset{inputencoding=utf8/latin1}



\fontencoding{T1}
\fontseries{m}
\fontsize{10pt}{11pt}
\selectfont
%******************************************************************************************


\begin{lstlisting}
> cd make_win
> configure.cmd
> make
\end{lstlisting}


\normalfont
\normalsize

\clearpage

\subsection{IDE utilizado}

Sobre \linux \space se usó casi exclusivamente el \textbf{GEDIT} como editor, y alternativamente el \textbf{\quotemarks{Code::Blocks}}, el cual tiene la ventaja de tener un port para \windows, y que en ambas plataformas es solo un front-end para el \GCC \textbackslash \GPP \space y el \GDB, esto último facilita el trabajo con \GDB, que puede ser tedioso en línea de comandos.\\
Alternativamente también se usó sobre \windows \space el \textbf{Visual \CPPLANG}, pero mas que todo como editor.


\clearpage



